﻿/*
* Copyright 2010 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License")
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace Ngilead.Test.Models.Misc
{
    /// <summary>
    /// List of result encapsulation, inspired from GXT library 
    /// </summary>
    [DataContract]
    public class BaseListLoadResult<T>
    {

        #region Private

        /// <summary>
        /// Wrapped data list
        /// </summary>
        private IList<T> _list;

        #endregion

        #region Ctor

        /// <summary>
        /// Constructor
        /// </summary>
        public BaseListLoadResult()
        {
        }

        /// <summary>
        /// Constructor with initial list input
        /// </summary>
        public BaseListLoadResult(IList<T> inputList)
            : base()
        {
            this._list = inputList;
        }

        #endregion

        #region Public

        /// <summary>
        /// Wrapped data list
        /// </summary>
        [DataMember]
        public virtual IList<T> List
        {
            get { return _list; }
            set { _list = value; }
        }

        #endregion
    }
}
